import unittest
#安装数据驱动
from ddt import ddt,data,unpack,file_data
'''
1. 引入 file_data
2. @file_data("testt.yaml") 传入的是字典模式
'''
@ddt
class TestCase1(unittest.TestCase):


    #方式1
    '''
    @file_data("testt.yaml")
    @unpack
    def test_login(self, name,username,password):  # 测试用例的名称要以test开头
        print(name)
        print(username)
        print(password)
     '''

    #方式2
    @file_data("testt.yaml")
    def test_login1(self,**user):  # 测试用例的名称要以test开头
       name =user.get("name")
       username =user.get("username")
       password =user.get("password")
       print(name)
       print(username)
       print(password)

    #无条件跳过本条用例
    @unittest.skip("不想被执行")
    def test_2(self):
        print("test2")

    #有条件跳过本条用例执行， 条件为假跳过
    @unittest.skipUnless(1>2,"这是unless的理由")
    def test_3(self):
         print("test3")

    # 有条件跳过本条用例执行 条件为true跳过
    @unittest.skipIf(1<2,"这是if的理由")
    def test_4(self):
        print("test4")

    # 会被当做禁用 仍会报错，但会被unittest忽略（断言失败，就会跳过本条用例）
    @unittest.expectedFailure
    def test_5(self):
        self.assertEqual(1233,2323,msg="Not equal")
        print("test5")

if __name__ =='__main__':  #运行主函数
        unittest.main()